1. Technical Field
The present invention relates to a digital high-pass filter, in particular for use in a displacement detection device for detecting displacements of a portable apparatus, to which the following description will make explicit reference, without this implying any loss of generality.
2. Description of the Related Art
As is known, in the last few years, with the increasing use of portable apparatuses (such as laptops, PDAs—Personal Data Assistants, digital audio players, mobile phones, digital cameras, and the like), a need has grown for simplifying the use of said apparatuses and in particular their user interface. In this regard, of particular interest has proven the possibility of activating given functions or programs in the portable apparatuses with a simple movement made by the user. Consider, for example, navigation within a list of options or the phone book of a mobile phone by simply tilting it or moving it in the direction in which the list or the phone book is to be scrolled, or the possibility of adapting the display of an image on a PDA by simply modifying its inclination.
In some portable apparatuses, the introduction of displacement detection devices has thus been proposed which enable the activation of functions or programs following upon the detection of a movement imparted by the user.
The displacement detection devices of a known type generally comprise acceleration sensors, which detect the acceleration acting on the corresponding portable apparatus along one or more detection directions, and generate corresponding electrical signals. An appropriate processing circuit connected to the acceleration sensors processes the acceleration signals thus generated, and in particular compares them with pre-set acceleration thresholds. In particular, exceeding of one of the acceleration thresholds indicates that the portable apparatus has undergone a displacement in a corresponding direction.
However, due to the acceleration of gravity, the acceleration sensors have a non-zero output also in the absence of an acceleration exerted on the portable apparatus by the user. Furthermore, the acceleration signals generated on account of the sole acceleration of gravity have different values according to the resting position of the portable apparatus, in so far as the components of the acceleration of gravity along the detection directions are each time different. Consequently, the exceeding of the acceleration thresholds by the acceleration signals, in the presence of an acceleration exerted on the portable apparatus, is dependent upon the initial position (and in particular upon the orientation) of the portable apparatus. This leads to disparity of operation according to the initial resting position of the portable apparatus chosen by the user, a position that varies, for example, between right-handed users and left-handed users, and in any case according to the preference of the various users.
To solve the above problem, in the Italian patent application No. T02004A000847, filed in the name of the present applicant on Dec. 1, 2004, the use of a high-pass filter was proposed, said high-pass filter being arranged between the acceleration sensors and the corresponding processing circuit. The high-pass filter eliminates the continuous component of the acceleration signals linked to the acceleration of gravity so as to render the displacement detection independent of the initial position of the portable apparatus.
As is known, numerical high-pass filters are generally made with FIR (Finite Impulse Response) or IIR (Infinite Impulse Response) structures. In order to effectively reduce the continuous component of the acceleration signals, without, however, altering the frequency components indicative of the displacements to be detected (frequency components that can be low-frequency ones in the case of slow movements or high-frequency ones in the case of fast movements), the high-pass filters must have a long time constant, for example longer than 100 ms, and a high order. Since the FIR or IIR filters envisage the repetition of one and the same circuit structure a number of times equal to the order of the filter, and the storage of a number of constants once again equal to the order of the filter, these characteristics lead to a considerable circuit complexity and consequently a high use of resources. In particular, in the case of hardware implementation via an ASIC (Application Specific Integrated Circuit) the silicon area occupation and the memory occupation can be excessive beyond a certain order of the filter (mainly in the case of portable applications). Instead, in case of software implementation via a firmware, stored for example in a microcontroller or in a DSP (Digital Signal Processor), it is necessary to choose very costly components and to use all or a large part of the resources of the system just for the filter implementation.
In addition, in numerical filters of a conventional type it is not easy to vary the cutoff frequency, a possibility that is, instead, extremely useful in the described application for the detection of displacements of portable apparatuses. In fact, to detect slow movements made by the user, it is preferable to select a cutoff frequency that is sufficiently low, such that the low-frequency components of the corresponding acceleration signals will have an amplitude sufficient to be detected. Instead, it is preferable to select a higher cutoff frequency if the movements of the user are faster so as to cut off the low-frequency components and in any case to accurately detect the signal components linked to the movements made by the user.